<?php
header("Content-type: text/html; charset=utf-8");
/*
 * 声明:
 *  1) 韩童是个傻逼.谨以此文档献给学习PHP的小傻逼
 *  2) 部分需要HTML支持的方法, URL访问方法名.html文件运行
 *  3) 测试某一个功能需要调用该功能方法, 如 howToUseForeach(); 和 formSubmit();
 * 
 */
getPage();
//formSubmit();


/*
 * 表单提交后台如何接收数据
 * var_dump(); 向网页输出字符串, 优点:会显示数据类型/ 长度. 缺点: 结构不清晰. 相同功能的方法为print_r(); 不显示数据类型/长度/当数据为空或null无内容输出, 结构清晰
 * $_POST PHP超全局变量, 用来获取所有以post方式提交到此的数据
 * $_GET PHP超全局变量, 用来获取所有以get方式提交到此的数据
 * $_REQUEST PHP超全局变量, 用来获取所有方式提交到此的数据
 */
function formSubmit(){
    echo "POST数据:";
    var_dump($_POST);
    echo "<br/>GET数据:";
    var_dump($_GET);
    echo "<br/>REQUEST数据:";
    var_dump($_REQUEST);

}



/*
 * foreach的使用
 * 用于解析数组
 */
function howToUseForeach(){

    $my_array = array("key" => "value", "key1" => "value1", "key2" => "value2", "key3" => "value3", "key4" => "value4", );

    echo "<p>指定key的数组</p>";
    foreach($my_array as $keys => $values){
        //foreach 会循环数组的每一个键值对 键=$keys 值=$values
        echo "key=". $keys. " ";
        echo "value=". $values. "<br/>";
    }

    echo "<p>----------------------------------</p>";
    echo "<p>不指定key的数组</p>";
    //数组不指定key时会默认以0开始自增作key
    $my_array = array("val1", "val2", "val3", "val4", "val5" );
    foreach($my_array as $keys => $values){
        echo "key=". $keys. " ";
        echo "value=". $values. "<br/>";
    }

    echo "<p>----------------------------------</p>";
    //如果key不重要可以忽略key
    echo "忽略key<br/>";
    foreach($my_array as $val){
        echo "value=". $val. "<br/>";
    }
    echo "THE END";
}

/*
 * 获取远程页面/ 调用接口等
 */
function getPage(){

    // get方式 直接使用file_get_contents();传入url即可, 返回的数据可以是html json xml 等

    echo file_get_contents("http://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&tn=baidu&wd=傻逼");//获取百度页面


    echo "<p>===========================</p>";
    // post 方式
    // TODO url需要改为你本地的对应地址
    $url = "http://localhost:88/hantong/PHP/study/print.php";
    $post = array('name' => 'jianguo', 'say' => 'hello');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    $output = curl_exec($ch); //接收url返回的内容
    curl_close($ch);

    var_dump($output);


}
